import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MarktGUI implements ActionListener { private Markt markt; private Frame mainWindow; private Frame abschlussWindow; public MarktGUI(Markt markt) { this.markt = markt; mainWindow = new JFrame("Markt"); abschlussWindow = new Frame("Verkauf Abschließen"); ((JFrame) mainWindow).setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE ); JTabbedPane tabs = new JTabbedPane(); tabs.add("Lager", lagerUI( markt.lager ) ); tabs.add("Verkauf", verkaufUI( markt.kasse ) ); mainWindow.add(tabs); mainWindow.pack(); } public void mainUI() { mainWindow.setVisible(true); } private Panel lagerUI(Warenlager lager) { Panel ui = new Panel( new GridLayout(0,4) ); String wname; int wcount; double wprice; Liste w; for ( w = lager.bestand; w != null; w = w.next ) { wcount = ( (Warenbestand) w.data ).count; wname = ( (Warenbestand) w.data ).ware.name; wprice = ( (Warenbestand) w.data ).ware.price; ui.add( new Label( String.format("%4d Stck.", wcount ), Label.RIGHT )); ui.add( new Label( wname, Label.LEFT )); ui.add( new Label( String.format( "%6.2f Euro", wprice), Label.RIGHT )); ui.add( new Label( String.format( "%6.2f Euro", (wcount * wprice)), Label.RIGHT )); } return ui; } private Panel verkaufUI( Kasse kasse ) { Panel ui = new Panel( new GridLayout(1, 3) ); Panel l = new Panel( new FlowLayout() ); Panel m = new Panel( new FlowLayout() ); Panel r = new Panel( new FlowLayout() ); ui.add(l); ui.add(m); ui.add(r); List waren = new List(10); l.add(waren); l.add(new Label( kasse.toString() )); // waren.add(""); Button bverkauf = new Button("Verkauf"); bverkauf.setActionCommand("verkauf"); bverkauf.addActionListener(this); m.add(new Label("Anzahl:")); m.add(new TextField()); m.add(bverkauf); r.add( verkaufTable(kasse.getVerkauf()) ); r.add(new Button("Verkauf Abschließen")); return ui; } private Panel verkaufTable(Verkauf v) { return new Panel(); } private void verkaufAbschliessen( Verkauf v) { } public void actionPerformed(ActionEvent e) { switch (e.getActionCommand()) { case "verkauf": actionVerkauf(); break; case "abschluss": actionAbschluss(); break; case "abschlussOK": actionAbschlussOK(); break; } } private void actionVerkauf() { System.err.println("Verkauf"); } private void actionAbschluss() { System.err.println("Abschluss"); } private void actionAbschlussOK() { System.err.println("AbschlussOK"); } public static void main(String[] arg) { MarktGUI gui = new MarktGUI(new Markt()); gui.mainUI(); } }